package com.babyqiao.wallpaper.portal.service;

import com.babyqiao.wallpaper.portal.entity.WallpaperAlbum;
import com.babyqiao.wallpaper.portal.entity.WallpaperAlbumPic;
import com.babyqiao.wallpaper.portal.entity.vo.AlbumResVO;
import com.babyqiao.wallpaper.portal.entity.vo.AlbumStatisVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 专辑表包含专辑信息 服务类
 * </p>
 *
 * @author QLZ
 * @since 2021-02-24
 */
public interface IWallpaperAlbumService extends IService<WallpaperAlbum> {

    /***
     *
     * @Author QLZ
     * @Date 2021/2/25
     *  @param current: 当前页
     *  @param limit: 每页条数
     @param tagId:标签ID
     *  @return: com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.babyqiao.wallpaper.portal.entity.vo.AlbumResVO>
     */

    List<AlbumResVO> findAlbumByTagId(Long current,Long limit, String tagId);

    /**
     * 根据专辑ID查询专辑图片
     * @Author QLZ
     * @Date 2021/2/25
     *  @param albumId: 专辑ID
     *  @return: java.util.List<com.babyqiao.wallpaper.portal.entity.WallpaperAlbumPic>
     */

    List<WallpaperAlbumPic> findPicByAlbumIdService(String albumId);


    /***
     * 获得专辑专辑活跃数据
     * @Author QLZ
     * @Date 2021/2/25
     *  @param albumId: 专辑ID
     *  @return: com.babyqiao.wallpaper.portal.entity.vo.AlbumStatisVO
     */

    AlbumStatisVO findStatisByAlbumService(String albumId);




    /***
     *点赞/取消点赞
     * @Author QLZ
     * @Date 2021/2/26
     *  @param albumId: 专辑ID
     *  @param userId: 用户ID
     *  @param value: 1->点赞，其他->取消点赞
     *  @return: boolean
     */

    boolean likeItService(String albumId,String  userId,String value);


    /***
     *获得用户对图片的点赞状态
     * @Author QLZ
     * @Date 2021/2/26
     *  @param albumId: 专辑ID
     @param userId: 用户ID
      *  @return: java.lang.Integer
     */

    Boolean getLikeItStatusService(String albumId, String userId);

    /**
     *获得点赞总数
     * @Author QLZ
     * @Date 2021/2/28
     *  @param albumId: 专辑ID
     *  @return: null
     */

    Long getLikeCountService(String albumId);

    /**
     *根据演员id查询专辑
     * @Author QLZ
     * @Date 2021/2/28
     *  @param  current:当前页
     *   @param  limit:每页显示条数
     @param actorId: 演员id
     *  @return: java.util.List<com.babyqiao.wallpaper.portal.entity.vo.AlbumResVO>
     */

    List<AlbumResVO> findAlbumByActor(Long current,Long limit, String actorId);

}
